package com.wuseguang.springcloud.service;

import com.wuseguang.springcloud.entity.Holiday;
import com.wuseguang.springcloud.util.Result;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;
import java.util.Map;

public interface BanCardService {

    /**
     * @描述 组合查询设备详情
     * @创建人 zm
     * @创建时间 2019/12/27
     */
    List<Map<String, Object>> queryBanCardAll(String school_id, String gradeid, String classid, String state, String deviceid);

    /**
     * @描述 设备一键关机或批量一键关机
     * @创建人 zm
     * @创建时间 2019/12/27
     */
    int updateDeviceShutdown(String school_id, String deviceids);

    /**
     * @描述 设备一键重启或批量一键重启
     * @创建人 zm
     * @创建时间 2019/12/27
     */
    int updateDeviceRestartflag(String school_id, String deviceids);

    /**
     * @描述 设备一键截屏或批量一键截屏
     * @创建人 zm
     * @创建时间 2019/12/27
     */
    int updateDeviceScreenflag(String school_id, String deviceids);

    /**
     * @描述 升级
     * @创建人 zm
     * @创建时间 2019/12/29
     */
    int updateUpgradeflag(String school_id, String upgradeurl, String deviceids);

    /**
     * @描述 重置密码
     * @创建人 zm
     * @创建时间 2019/12/27
     */
    int updatepassword(String school_id,String password);

    /**
     * @描述 声音控制
     * @创建人 zm
     * @创建时间 2019/12/27
     */
    int updateVolume(String school_id, String deviceids, String volume);

    /**
     * @描述 删除设备，并删除相关节假日的信息
     * @创建人 zm
     * @创建时间 2019/12/27
     */
    int delDevice(String school_id, String deviceids);

    /**
     * @描述 查询所有设备类型
     * @创建人 zm
     * @创建时间 2019/12/27
     */
    List<Map<String, Object>> queryDeviceType();

    /**
     * @描述 查询所有教室
     * @创建人 zm
     * @创建时间 2019/12/27
     */
    List<Map<String, Object>> queryClassRoomAll(String school_id);

    /**
     * @描述 查询该设备所有节假日时间
     * @创建人 zm
     * @创建时间 2019/12/27
     */
    List<Map<String, Object>> queryHolidayAll(String bancardid);

    /**
     * @描述 查询该设备使用的节假日时间
     * @创建人 zm
     * @创建时间 2019/12/27
     */
    List<Map<String, Object>> queryHolidayAllUse(String bancardid);

    /**
     * @描述 修改班牌日常时间
     * @创建人 zm
     * @创建时间 2019/12/27
     */
    int updateBancardTime(String ids, String monday, String tuesday, String wednesday, String thursday, String friday, String saturday, String sunday);

    /**
     * @描述 批量修改节假日
     * @创建人 zm
     * @创建时间 2019/12/27
     */
    int batchAddHoliday(String s, String[] ids, List<Holiday> holidayList);

    /**
     * @描述 修改设备类型和绑定的教室
     * @创建人 zm
     * @创建时间 2019/12/27
     */
    int updateDevicTypeorclassroom(String id, String deviceType, String classroomid, String deviceid);

    /**
     * @描述 批量修改设备类型
     * @创建人 zm
     * @创建时间 2019/12/27
     */
    int batchupdateDevicType(String ids, String deviceType);

    /**
     * @描述 绑定设备
     * @创建人 zm
     * @创建时间 2019/12/28
     */
    Result addDevicTypeorclassroom(String school_id, String deviceid, String deviceType, String classroomid);

    /**
     * @描述 验证修改的设备是否绑定了多个教室
     * @创建人 zm
     * @创建时间 2020/2/19
     */
    int queryCount(String deviceid, String id);

    Map<String, Object> queryDanCardIds(String classids);

    Result queryEquipmentClassesAll(String schoolId);


    Result getVersionNumber(MultipartFile file, String bancardids);
}
